package com.eorchis.module.classplanapply.service;
import java.io.InputStream;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import com.eorchis.core.service.IBaseService;
import com.eorchis.module.classplanapply.bean.ClassPlanApplyQueryBean;
import com.eorchis.module.classplanapply.bean.ClassPlanSignFormatBean;
import com.eorchis.module.classplanapply.ui.commond.ClassPlanApplyQueryCommond;
import com.eorchis.module.classplanapply.ui.commond.ClassPlanApplyValidCommond;
import com.eorchis.module.trainingclass.ui.commond.TrainingClassQueryCommond;
import com.eorchis.util.excel.ExcelImportResult;
/**
 * Title: IClassPlanApplyService<br>
 * Description: 班级计划报名管理业务接口<br>
 * Company: GoldGov<br>
 * Copyright @ 2012 GoldGov .All rights reserved.<br>
 * @author SHQ
 * @createDate 2016-01-05
 * @version $Revision$
 */
public interface IClassPlanApplyService 
			extends IBaseService 
				
{
	/**
	 * @category 导入计划报名表
	 * @param is 输入流
	 * @return
	 * @throws Exception
	 */
	public void importPlanApplyTb(InputStream is) throws Exception;
	
	/**
	 * @category 获取导入结果
	 * @param is
	 * @return
	 * @throws Exception
	 */
	public ExcelImportResult divideImportExcel(InputStream is, HttpServletRequest request) throws Exception;

	/**
	 * @category 获取导出报名对比表
	 * @param queryCommond
	 * @return
	 */
	public List<ClassPlanSignFormatBean> findExportSignComparationList(TrainingClassQueryCommond queryCommond)throws Exception;

	/**
	 * @category 查询班级的实际可报名额
	 * @param queryCommond
	 * @return
	 * @throws Exception 
	 */
	public ClassPlanApplyValidCommond findClassAsignCount(ClassPlanApplyQueryCommond queryCommond) throws Exception;

	public List<ClassPlanApplyQueryBean> findClassPlanApplyQueryBeanList(
			ClassPlanApplyQueryCommond queryCommond)throws Exception;

	/**
	 * @category 查询培训班计划名额
	 * @param queryCommond
	 * @return
	 * @throws Exception
	 * @author LongJZ
	 * @createDate 2016-1-29
	 */
	public List<ClassPlanApplyQueryBean> findClassPlanApplyList(ClassPlanApplyQueryCommond queryCommond) throws Exception;
}
